<?php

/**
 * This is the model class for table "{{qvobjects}}".
 *
 * The followings are the available columns in table '{{qvobjects}}':
 * @property integer $qvo_id
 * @property string $qvo_objectName
 * @property string $qvo_docName
 * @property integer $qvo_sheetNumber
 * @property integer $qvo_reloadCycle
 *
 * The followings are the available model relations:
 * @property Objects[] $objects
 */
class Qvobjects extends CActiveRecord
{
    /**
     * Returns the static model of the specified AR class.
     * @return Qvobjects the static model class
     */
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    /**
     * @return string the associated database table name
     */
    public function tableName()
    {
        return '{{qvobjects}}';
    }

    /**
     * @return array validation rules for model attributes.
     */
    public function rules()
    {
        // NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        return array(
            array('qvo_sheetNumber, qvo_reloadCycle', 'numerical', 'integerOnly'=>true),
            array('qvo_objectName', 'length', 'max'=>100),
            array('qvo_docName', 'length', 'max'=>150),
            // The following rule is used by search().
            // Please remove those attributes that should not be searched.
            array('qvo_id, qvo_objectName, qvo_docName, qvo_sheetNumber, qvo_reloadCycle', 'safe', 'on'=>'search'),
        );
    }

    /**
     * @return array relational rules.
     */
    public function relations()
    {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
            'objects' => array(self::HAS_MANY, 'Objects', 'qvo_id'),
        );
    }

    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels()
    {
        return array(
            'qvo_id' => 'Qvo',
            'qvo_objectName' => 'Qvo Object Name',
            'qvo_docName' => 'Qvo Doc Name',
            'qvo_sheetNumber' => 'Qvo Sheet Number',
            'qvo_reloadCycle' => 'Qvo Reload Cycle',
        );
    }

    /**
     * Retrieves a list of models based on the current search/filter conditions.
     * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
     */
    public function search()
    {
        // Warning: Please modify the following code to remove attributes that
        // should not be searched.

        $criteria=new CDbCriteria;

        $criteria->compare('qvo_id',$this->qvo_id);
        $criteria->compare('qvo_objectName',$this->qvo_objectName,true);
        $criteria->compare('qvo_docName',$this->qvo_docName,true);
        $criteria->compare('qvo_sheetNumber',$this->qvo_sheetNumber);
        $criteria->compare('qvo_reloadCycle',$this->qvo_reloadCycle);

        return new CActiveDataProvider(get_class($this), array(
            'criteria'=>$criteria,
        ));
    }
    
    private $CYCLE_TYPE = array(1=>'daily',2=>'weekly',3=>'monthly');
        
    public function getRefreshCyle($id=NULL){
        if($id === NULL){
            return $this->CYCLE_TYPE;
        }else{
            return $this->CYCLE_TYPE[$id];
        }
    }
        
}